<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
 * JD_Queue 类
 * 队列数据结构
 *
 * @author tongliang
 *
 */
class JD_Queue{
	var $data ;
		
	function __construct() {
		$this->data = array();
	}
	
	/**
	 * 入队操作, 将对象加入队尾 
	 * @param mixed $obj
	 */
	function enqueue($obj){
		array_push($this->data,$obj);
	}
	
	/**
	 * 出队操作，返回队列第一个元素
	 * @return mixed $obj 队列第一个元素 
	 */
	function dequeue(){
		return array_shift($this->data);
	}
	
	/**
	 * 清空队列
	 */
	function clear(){
		$this->$data = array();
	}
	
	/**
	 * 检查队列是否为空
	 * @return boolean $empty 队列是否为空 
	 */
	function isEmpty(){
		return empty($this->data);
	}
	
	function indexOf($obj){
		$result = -1;
		for ($i = 0,$len = count($this->data) ; $i < $len; $i++){
			if ($this->data[$i] == $obj){
				$result = $i;
				break;
			} 
		}
		return $result ;
	}
}
/* End of file */